package whf.framework.meta.service;

import whf.framework.exception.CreateException;
import whf.framework.exception.FindException;
import whf.framework.exception.UpdateException;
import whf.framework.meta.Metaable;
import whf.framework.meta.entity.Object;
import whf.framework.meta.entity.ObjectProperty;

/**
 * @author wanghaifeng
 * @email king@126.com
 * @modify 2006-05-31
 */
public interface ObjectService extends whf.framework.service.Service<Object>, Metaable {
	/**
	 * @modify wanghaifeng Oct 29, 2006 8:28:35 AM
	 * @param cls
	 * @return
	 * @throws FindException
	 */
	public Object findByEntityClass(String cls) throws FindException;
	
	/**
	 * @modify wanghaifeng Oct 29, 2006 8:28:35 AM
	 * @param cls
	 * @return
	 * @throws FindException
	 */
	public Object findByActionClass(String cls) throws FindException;
	
	/**
	 * @modify wanghaifeng Oct 29, 2006 8:28:35 AM
	 * @param cls
	 * @return
	 * @throws FindException
	 */
	public Object findByServiceClass(String cls) throws FindException;
	
	/**
	 * @modify wanghaifeng Oct 29, 2006 8:28:35 AM
	 * @param cls
	 * @return
	 * @throws FindException
	 */
	public Object findByDaoClass(String cls) throws FindException;
	
	/**
	 * @modify wanghaifeng Oct 29, 2006 8:28:35 AM
	 * @param tableName
	 * @return
	 * @throws FindException
	 */
	public Object findByTableName(String tableName) throws FindException;
	
	/**
	 * @modify wanghaifeng Oct 29, 2006 8:28:35 AM
	 * @param object
	 * @param property
	 * @throws CreateException
	 * @throws UpdateException
	 */
	public void addProperty(Object object, ObjectProperty property) throws CreateException, UpdateException;
} 